how-to

إعادة توجيه الناتج من سطر أوامر Windows إلى ملف نصي

إحدى الطرق الأكثر فائدة لتسجيل سلوك الأوامر أو مهام الدفعات التي تقوم بتشغيلها على Windows واستكشاف أخطائها وإصلاحها هي إعادة توجيه الإخراج إلى ملف.

ومع ذلك، هناك عدة طرق مختلفة يمكنك من خلالها إعادة توجيه عمليات الكتابة في سطر الأوامر إلى ملف. يعتمد الخيار الذي تختاره على الطريقة التي تريد بها عرض مخرجات الأمر.

كيفية عمل مخرجات موجه الأوامر في نظام التشغيل Windows

عند كتابة أمر ما في وحدة التحكم في Windows (موجه الأوامر)، ينتقل إخراج هذا الأمر إلى مجرىين منفصلين.

  • مخرج قياسي:يعد المخرج القياسي هو المكان الذي تذهب إليه أي استجابات قياسية للأوامر. على سبيل المثال، تكون الاستجابة القياسية لأمر DIR عبارة عن قائمة بالملفات داخل دليل.
  • ستدير:الخطأ القياسي هو المكان الذي تظهر فيه أي رسائل خطأ في حالة وجود مشكلة في الأمر. على سبيل المثال، إذا لم يكن هناك أي ملفات في الدليل، فسيقوم أمر DIR بإخراج “لم يتم العثور على الملف” إلى مجرى الخطأ القياسي.

بإمكانك إعادة توجيه الإخراج إلى ملف في Windows لكلا تياري الإخراج هذين.

إعادة توجيه إخراج الكتابة القياسي إلى ملف جديد

هناك طريقتان يمكنك من خلالهما إعادة توجيه الناتج القياسي لأمر ما إلى ملف. الطريقة الأولى هي إرسال ناتج الأمر إلى ملف جديد في كل مرة تقوم فيها بتشغيل الأمر.

للقيام بذلك، افتح موجه الأوامر واكتب:

dir test.exe > myoutput.txt

يخبر الحرف > وحدة التحكم بإخراج مخرج قياسي إلى الملف بالاسم الذي قدمته.

عندما تقوم بتشغيل هذا الأمر، ستلاحظ عدم وجود أي استجابة في نافذة الأوامر باستثناء الخطأ الذي يشير إلى عدم وجود الملف.

يرجع هذا إلى إعادة توجيه الناتج القياسي للأمر إلى ملف يسمى myoutput.txt. يوجد الملف الآن في نفس الدليل الذي قمت بتشغيل الأمر فيه. لا يزال ناتج الخطأ القياسي يظهر كما هو الحال عادةً.

ملحوظة:احرص على تغيير الدليل النشط لموجه الأوامر قبل تشغيل الأمر. بهذه الطريقة ستعرف مكان تخزين ملفات الإخراج.

يمكنك عرض الناتج القياسي الذي تم إرساله إلى الملف عن طريق كتابة “myoutput.txt” في نافذة الأوامر. سيؤدي هذا إلى فتح ملف النص في عارض الملفات النصية الافتراضي لديك. بالنسبة لمعظم الأشخاص، يكون هذا عادةً Notepad.exe.

في المرة التالية التي تقوم فيها بتشغيل نفس الأمر، سيتم حذف ملف الإخراج السابق. سيتم إعادة إنشاء ملف إخراج جديد بإخراج الأمر الأخير.

إعادة توجيه عمليات الكتابة الناتجة القياسية إلى نفس الملف

ماذا لو لم تكن ترغب في الكتابة فوق نفس الملف؟ هناك خيار آخر وهو استخدام >> بدلاً من > لإعادة التوجيه إلى ملف الإخراج. في حالة هذا المثال، اكتب:

dir test.exe >> myoutput.txt

ستشاهد نفس النتيجة (الخطأ فقط).

إعادة توجيه الناتج من سطر أوامر Windows إلى ملف نصي الصورة 4

ولكن في هذه الحالة، بدلاً من الكتابة فوق ملف الإخراج، يقوم هذا الأمر بإضافة الإخراج الجديد إلى ملف الإخراج الموجود.

إعادة توجيه الناتج من سطر أوامر Windows إلى ملف نصي الصورة 5

في كل مرة تقوم فيها بتشغيل أمر وإضافة الإخراج إلى ملف، فسوف يكتب الإخراج القياسي الجديد في نهاية الملف الموجود.

إعادة توجيه الخطأ القياسي إلى ملف

بنفس الطريقة التي يمكنك بها إعادة توجيه عمليات الكتابة الإخراجية القياسية إلى ملف، يمكنك أيضًا إخراج دفق الخطأ القياسي إلى ملف.

للقيام بذلك، ستحتاج إلى إضافة 2> إلى نهاية الأمر، متبوعًا بملف الخطأ الناتج الذي تريد إنشاءه.

في هذا المثال، ستكتب الأمر:

dir test.exe > myoutput.txt 2> output.err

يؤدي هذا إلى إرسال دفق الإخراج القياسي إلى myoutput.txt ودفق الخطأ القياسي إلى output.err. والنتيجة هي عدم عرض أي دفق إخراج على الإطلاق في نافذة وحدة التحكم.

إعادة توجيه الناتج من سطر أوامر Windows إلى ملف نصي الصورة 6

ومع ذلك، يمكنك رؤية رسائل الخطأ عن طريق الكتابة الإخراج.خطأسيؤدي هذا إلى فتح الملف في عارض ملفات النص الافتراضي لديك.

إعادة توجيه الناتج من سطر أوامر Windows إلى ملف نصي الصورة 7

كما ترى، يتم إخراج أي رسائل خطأ من الأمر إلى ملف الخطأ. تمامًا كما هو الحال مع الإخراج القياسي، يمكنك استخدام >> بدلاً من ذلك، قم بإضافة الخطأ إلى الأخطاء من الأوامر التي تم تشغيلها مسبقًا.

إعادة توجيه جميع عمليات الكتابة الناتجة إلى نفس الملف

تؤدي كل الطرق المذكورة أعلاه إلى إنشاء ملفات متعددة. ملف واحد مخصص لتدفق الإخراج القياسي والآخر مخصص لتدفق الخطأ القياسي.

إذا كنت تريد تضمين كلا هذين المخرجين في نفس الملف، فيمكنك القيام بذلك أيضًا. للقيام بذلك، ما عليك سوى إعادة توجيه كل المخرجات إلى نفس الملف باستخدام الأمر التالي.

dir test.exe 1> myoutput.txt 2>&1

إليك كيفية عمل هذا الأمر:

  • يتم توجيه الإخراج القياسي إلى ملف الإخراج الذي تم تحديده برقم الإخراج 1.
  • يتم إعادة توجيه إخراج الخطأ المعياري المحدد بالرقم 2 إلى ملف الإخراج المحدد بالرقم 1.

سيؤدي هذا إلى إضافة إخراج الخطأ إلى نهاية الإخراج القياسي.

إعادة توجيه الناتج من سطر أوامر Windows إلى ملف نصي الصورة 8

هذه طريقة مفيدة لرؤية كافة النتائج لأي أمر في ملف واحد.

إسكات تدفقات الإخراج القياسية أو الخاطئة

يمكنك أيضًا إيقاف تشغيل “الإخراج القياسي” أو “الخطأ القياسي” عن طريق إعادة توجيه الإخراج إلى NUL بدلاً من ملف.

باستخدام المثال أعلاه، إذا كنت تريد فقط “الإخراج القياسي” وعدم وجود خطأ قياسي على الإطلاق، فيمكنك استخدام الأمر التالي:

dir test.exe 1> myoutput.txt 2>nul

سيؤدي هذا إلى نفس ملف الإخراج كما في المثال الأول أعلاه حيث قمت بإعادة توجيه الإخراج القياسي فقط، ولكن باستخدام هذا الأمر لن يتردد صدى الخطأ داخل وحدة التحكم. ولن ينشئ ملف سجل خطأ أيضًا.

يعد هذا مفيدًا إذا كنت لا تهتم بأي أخطاء ولا تريد أن تصبح مصدر إزعاج.

يمكنك تنفيذ أي من أوامر الإخراج نفسها المذكورة أعلاه من داخل ملف BAT، وسيذهب الإخراج من هذا السطر إلى ملف الإخراج الذي تحدده. هذه طريقة مفيدة لمعرفة ما إذا كانت أي أوامر داخل ملف BAT بها أي أخطاء عند محاولة تشغيلها.

ayoub ahmadat

كاتب ومدون متخصص ولدي شغف حقيقي بكل ما هو تقني، حيث أقدم لكم حلولًا مبتكرة وحيلًا مفيدة لتحسين تجربتك في عالم الأجهزة والتكنولوجيا. باعتباري شغوفًا بالتطورات الحديثة في عالم التكنولوجيا، أسعى دائمًا إلى مشاركة معرفتي وتجاربي لمساعدتكم في الاستفادة القصوى من أجهزتكم. ولنتشارك سويًا في هذه الرحلة المثيرة لاستكشاف عالم التكنولوجيا الذي لا يعرف الحدود. شكرًا لثقتكم ومتابعتكم المستمرة! يمكنك الاتصال بي عبر البريد الإلكتروني على ayoub@e-tice.com ،ويمكنك العثور على أعمالي على https://e-tice.com

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى
نحن نستخدم ملفات تعريف الارتباط لنمنحك أفضل تجربة ممكنة على موقعنا. بالمتابعة في استخدام هذا الموقع، فإنك توافق على استخدامنا لملفات تعريف الارتباط.
قبول